home *** CD-ROM | disk | FTP | other *** search
/ Internet Publisher's Toolbox 2.0 / Internet Publisher's Toolbox.iso / browsers / panorama / manual.z / PANOFTR.SGM < prev    next >
Encoding:
Text File  |  1995-03-06  |  44.3 KB  |  1,342 lines

  1. <!DOCTYPE BOOK PUBLIC "-//Synex Information AB//DTD Manual Version 1.3//EN"[
  2. <!ENTITY % PRO "IGNORE" -- for marked sections, relevance only for the PRO version -->
  3. <!ENTITY % windows "INCLUDE" -- for marked sections, relevance under Windows -- >
  4. <!ENTITY % mac     "IGNORE"  -- for marked sections, relevance under Macintosh -->
  5. <!ENTITY % motif   "IGNORE"  -- for marked sections, relevance under Motif -->
  6. <!ENTITY sp "SoftQuad Panorama">
  7. <!ENTITY p "Panorama">
  8. <!ENTITY enturl "http://www.sgmlopen.org/sgml/docs/general/entity.htm">
  9. <!ENTITY sgmlug "http://www.admin.kth.se/SGML">
  10. <!ENTITY lt "<">
  11. <!ENTITY gt ">">
  12. <!NOTATION GIF SYSTEM>
  13. <!NOTATION SGML PUBLIC "+//ISO 8879:1986//NOTATION STANDARD GENERALIZED MARKUP LANGUAGE//EN">
  14. <!ENTITY panoug SYSTEM "PANOFUG.SGM" NDATA SGML -- The User's Guide -->
  15. <!ENTITY #DEFAULT SYSTEM NDATA GIF>
  16. <![ %windows; [
  17. <!ENTITY DocVer "&sp; for Microsoft Windows">
  18. <!ENTITY platform "Windows">
  19. ]]>
  20. <![ %motif; [
  21. <!ENTITY DocVer "&sp; for Unix/Motif">
  22. <!ENTITY platform "Motif">
  23. ]]>
  24. <![ %mac; [
  25. <!ENTITY DocVer "&sp; for Macintosh">
  26. <!ENTITY platform "Macintosh">
  27. ]]>
  28. ]>
  29. <?TAGLINK URL URI>
  30. <BOOK>
  31. <FRONT>
  32. <TITLEGRP>
  33. <TITLE>&sp; <![ %PRO; [PRO ]]>Technical Reference</TITLE>
  34. </TITLEGRP>
  35. <AUTHGRP>
  36. <CORPAUTH><ORGNAME>Developed by Synex Information AB, Sweden</ORGNAME></CORPAUTH>
  37. </AUTHGRP>
  38. <PUBFRONT>
  39. <INFOGRP>
  40. <DEFLIST>
  41. <TERM>Standard Identification</TERM>
  42. <DD><P>&sp; is an SGML System Conforming to International Standard
  43. ISO 8879—Standard Generalized Markup Language.</P></DD>
  44.  
  45. <TERM>Published by</TERM>
  46. <DD><P><ORGADDR><ORGNAME>SoftQuad Inc.</ORGNAME>
  47. <STREET>56 Aberfoyle Crescent, Suite 810</STREET>
  48. <CITY>Toronto, </CITY><COUNTRY>Canada </COUNTRY><POSTCODE>M8X 2W4</POSTCODE>
  49. <PHONE>(416) 239–4801</PHONE>
  50. <FAX>(416) 239–7105</FAX>
  51. <EMAIL>Internet: mail@sq.com</EMAIL>
  52. <![ %PRO; [
  53. <EMAIL>Technical Support: panorama-support@sq.com</EMAIL>
  54. ]]>
  55. </ORGADDR></P></DD>
  56.  
  57. <![ %PRO; [
  58. <TERM>Developed by</TERM>
  59. <DD><P><ORGADDR><ORGNAME>Synex Information AB</ORGNAME>
  60. <STREET>Kallforsvägen 24</STREET>
  61. <CITY>Bandhagen, </CITY><COUNTRY>Sweden </COUNTRY><POSTCODE>S-124 32</POSTCODE>
  62. </ORGADDR></P></DD>
  63. ]]>
  64.  
  65. <TERM>Document version</TERM>
  66. <DD><P>&DocVer;</P>
  67. <P>First Edition (March 1995)</P>
  68. <P>Synex Information AB makes no warranty of any kind with respect to the
  69. completeness or accuracy of this document. Synex Information AB may make improvements
  70. and/or changes to the product(s) and/or programs described herein at any time and
  71. without notice.</P>
  72. </DD>
  73.  
  74. <TERM>Copyrights and Trademarks</TERM><DD>
  75. <CPYRT><DATE>© 1994-95</DATE>
  76. <CPYRTNME><ORGNAME> by Synex Information Aktiebolag, </ORGNAME>
  77. <COUNTRY>Sweden.</COUNTRY>
  78. </CPYRTNME>
  79. </CPYRT>
  80.  
  81. <P><BO>All rights reserved.</BO></P>
  82. <P>No part of this document may be reproduced, stored in a retrieval system, or
  83. transmitted, in any form or by any means—electronic, mechanical, recording, or
  84. otherwise—without the prior written consent of Synex Information Aktiebolag,
  85. excepting its legal use as part of the &sp; software and brief quotes used in
  86. connection with reviews written specifically for inclusion in a magazine or
  87. newspaper.</P>
  88.  
  89. <P>&sp; is a trademark of SoftQuad Inc.</P>
  90. <P>Other mentioned brand or product names are trademarks or registered
  91. trademarks of their respective holders.</P>
  92. </DD>
  93.  
  94. <TERM>Notice</TERM><DD><P>Agencies of the United States Government please note:</P>
  95. <P><SC>RESTRICTED RIGHTS LEGEND:</SC> Use, duplication, or disclosure
  96. by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii)
  97. of the Rights in Technical Data and Computer Software clause at <SC>DFARS
  98. 52.227–7013</SC> and in similar clauses in the <SC>FAR</SC> and
  99. <SC>NASA FAR</SC> Supplement.
  100. <!-- ++++++++++++++++ HyTime nameloc data begins +++++++++++++++++++++++++++++++ -->
  101. <NAMELOC ID="panoug">
  102. <NMLIST NAMETYPE="ENTITY">panoug</NMLIST>
  103. </NAMELOC>
  104. <NAMELOC ID="MISCSSH">
  105. <NMLIST NAMETYPE="ELEMENT" DOCORSUB="panoug">MISCSSH</NMLIST>
  106. </NAMELOC>
  107. <NAMELOC ID="HOTSPOT">
  108. <NMLIST NAMETYPE="ELEMENT" DOCORSUB="panoug">HOTSPOT</NMLIST>
  109. </NAMELOC>
  110. <!-- ++++++++++++++++ HyTime nameloc data ends +++++++++++++++++++++++++++++++++ -->
  111. </P></DD>
  112. </DEFLIST>
  113. </INFOGRP>
  114. </PUBFRONT>
  115. </FRONT>
  116.  
  117. <BODY>
  118.  
  119. <CHAPTER ID="ABOUT"><TITLE>About This Manual</TITLE>
  120.  
  121. <P>This manual consists of:
  122.  
  123. <LIST>
  124.  
  125. <ITEM><P><XREF RID="ABOUT">About This Manual</XREF> (this chapter).</P></ITEM>
  126.  
  127. <ITEM><P><XREF RID="INSTALL">Installation</XREF> A few comments on the installation.</P></ITEM>
  128.  
  129. <ITEM><P><XREF RID="SYSOV">Configuring &p;</XREF>, on setting up &p;.</P></ITEM>
  130.  
  131. <ITEM><P><XREF RID="DOCUPRES">Document Presentation</XREF> with &p;.</P></ITEM>
  132.  
  133. <ITEM><P><XREF RID="BASICS">SGML Basics</XREF></P></ITEM>
  134.  
  135. <ITEM><P><XREF RID="URLSPEC">WWW Linking</XREF>—on using URLs.</P></ITEM>
  136.  
  137. <ITEM><P><XREF RID="LINKING">HyTime Linking</XREF>.</P></ITEM>
  138.  
  139. <![ %PRO; [
  140. <ITEM><P><XREF RID="HINTS">Hints and Tips</XREF></P></ITEM>
  141. ]]>
  142.  
  143. <ITEM><P><XREF RID="CONFORM">SGML Conformance</XREF></P></ITEM>
  144.  
  145. </LIST>
  146. This manual is a technical complement to the <XREF RID="panoug">&sp; User's Guide</XREF>.
  147. </P>
  148.  
  149. <SECTION ID="SUGGEST"><TITLE>Your Suggestions</TITLE>
  150.  
  151. <P>We welcome your comments and suggestions on this documentation and
  152. on the program. These will be carefully considered for future
  153. versions. You can send e-mail to <TT>panorama@sq.com</TT>.</P>
  154. </SECTION> </CHAPTER>
  155.  
  156.  
  157. <CHAPTER ID="INSTALL"><TITLE>Installation</TITLE>
  158.  
  159. <![ %mac; [
  160. <P>
  161. <LIT>
  162. ************************************
  163. *  COPY NEEDS TO BE ADDED FOR MAC  *                                 
  164. ************************************
  165. </LIT> 
  166. </P>
  167. ]]>
  168.  
  169. <![ %motif; [
  170. <P>
  171. <LIT>
  172. **************************************
  173. *  COPY NEEDS TO BE ADDED FOR MOTIF  *                                 
  174. **************************************
  175. </LIT> 
  176. </P>
  177. ]]>
  178.   
  179. <P>The directory where &sp; is installed is referred to as <Q>the &p;
  180. directory</Q>. That directory contains the application itself and support
  181. files, see the chapter <XREF RID="SYSOV">Configuring &p;</XREF>.</P>
  182.  
  183.  
  184.  
  185. <SECTION ID="MIMETYPE"><TITLE>Setting up the MIME Type</TITLE>
  186.  
  187. <P>&p; registers itself as a viewer for the MIME type <TT>text/x-sgml</TT>.  Anyone
  188. setting up a server for SGML files should set up the server to type the files
  189. accordingly, in order for &p; to display them.  </P>
  190.  
  191. </SECTION>
  192.  
  193. <SECTION ID="MOSAIC"><TITLE>Order of Launching Mosaic and &p;</TITLE>
  194.  
  195. <P>To use Mosaic to resolve URLs, make sure that Mosaic is running
  196. <EM>before</EM> starting &p;.</P>
  197.  
  198. </SECTION>
  199.  
  200. </CHAPTER>
  201.  
  202. <CHAPTER ID="SYSOV"><TITLE>Configuring &p;</TITLE>
  203.  
  204. <P>The &p; directory contains the application itself and support files, which
  205. configure the system. With the phrasing <Q>the &p; directory</Q>, we mean the
  206. directory where the application is installed.</P>
  207.  
  208. <SECTION ID="CONFIG"><TITLE>Configuration Files</TITLE>
  209.  
  210. <P>The configuration files tailor the behavior of &p;.</P>
  211.  
  212. <SUBSECT1><TITLE>Current Settings</TITLE>
  213.  
  214. <P>The settings of the options and the currently open webs are kept in
  215. the file <TT>PANORAMA.INI</TT>, located in the main Windows directory.</P>
  216.  
  217. </SUBSECT1>
  218.  
  219. <SUBSECT1><TITLE>SETUP</TITLE>
  220.  
  221. <P>The <TT>Setup</TT> file configures the handling of notations. It also allows
  222. you to specify a font substitution table to map fonts unknown to your system onto
  223. similar fonts.  This is necessary to make the style sheets portable.</P>
  224.  
  225. <P>The font substitutions are defined in the <TT>SETUP</TT> file using the keyword
  226. <TT>FONTMAP</TT>. For instance, if you are accessing a Unix style sheet on a PC, you
  227. might want <TT>Times</TT> mapped to <TT>Times New Roman</TT> and <TT>Helvetica</TT>
  228. mapped to <TT>Arial</TT>.  To achieve this, add the following lines:
  229.  
  230. <LIT>
  231. FONTMAP "Times" "Times new Roman"
  232. FONTMAP "Helvetica" "Arial"
  233. </LIT>
  234.  
  235. The font name <TT>"*"</TT> is used to set up a default font. If you specify
  236.  
  237. <LIT>
  238. FONTMAP "*" "Times New Roman"
  239. </LIT>
  240.  
  241. then the font <TT>Times New Roman</TT> will be the default font when no font 
  242. is specified in the style sheet.</P>
  243.  
  244. </SUBSECT1>
  245.  
  246.  
  247. <SUBSECT1><TITLE>SDATA</TITLE>
  248.  
  249. <P>The <TT>SDATA.MAP</TT> file, also located in the &p; installation
  250. directory, is used to map foreign, system dependent SDATA characters.
  251. Consult this file regarding the format of declarations.</P>
  252.  
  253. </SUBSECT1>
  254.  
  255.  
  256. <SUBSECT1><TITLE>CATALOG</TITLE>
  257.  
  258. <P>Because they are based on a standard, SGML software applications can share
  259. common sets of files. To harmonize the use of shared files, the <BO>SGML
  260. Open</BO> consortium has adopted a technical resolution that specifies how
  261. applications can retrieve such files by using a common catalog file; &p;
  262. supports the <BO>SGML Open entity catalog</BO> scheme. The catalog maps
  263. symbolic names (so-called <EM>public identifiers</EM>) to corresponding
  264. physical files. A summary of this scheme may be found on the SGML Open WWW
  265. server, at the URL <URL>&enturl;</URL>.</P>
  266.  
  267. <P>The <TT>CATALOG</TT> file, stored in the <TT>CATALOG</TT> directory
  268. within the &p; directory, resolves the mapping between public identifiers
  269. and the corresponding actual file. All file paths are relative to the
  270. <TT>CATALOG</TT> file itself, but can of course be specified in full.</P>
  271.  
  272. <P>The default catalog resides in the &p; directory; if you are using
  273. another SGML application that also supports the SGML Open catalog, you can
  274. specify the path to that catalog file in various ways.</P>
  275.  
  276. <![ %windows; [
  277. <SUBSECT2><TITLE>Specifying the location of the SGML Open entity catalog</TITLE>
  278.  
  279. <P>To specify an alternative catalog file, change the <TT>CATALOG</TT> value in
  280. your <TT>WIN.INI</TT> file, so that its value corresponds to the path of your main
  281. catalog file.</P>
  282. <LIT>
  283. [PANORAMA]
  284. CATALOG=path to your main catalog file
  285. </LIT>
  286.  
  287. </SUBSECT2>
  288. ]]>
  289.  
  290. <SUBSECT2><TITLE>Including an additional catalog file</TITLE>
  291.  
  292. <P>To include an additional <TT>CATALOG</TT> file, insert a corresponding
  293. declaration <EM>in the <TT>CATALOG</TT> file:</EM></P>
  294.  
  295. <LIT>
  296. CATALOG path to additional catalog file 
  297. </LIT>
  298.  
  299. </SUBSECT2>
  300.  
  301. </SUBSECT1>
  302.  
  303.  
  304. <SUBSECT1><TITLE>ENTITYRC</TITLE>
  305.  
  306. <P>Though the SGML Open entity catalog scheme permits user-defined
  307. extensions, Synex Information has in the interest of portability preferred
  308. not to deviate from the plain catalog format. Therefore, application
  309. dependent files—such as style sheets and navigators—are
  310. designated in a directory called <TT>ENTITYRC</TT> also located in the &p;
  311. directory. The corresponding file is named <TT>ENTITYRC</TT> as well.</P>
  312.  
  313. <SUBSECT2><TITLE>Including an additional entity catalog</TITLE>
  314.  
  315. <P>To include an additional <TT>ENTITYRC</TT> catalog, insert a
  316. corresponding declaration <EM>in the <TT>ENTITYRC</TT> file:</EM></P>
  317.  
  318. <LIT>
  319. ENTITYRC path to additional entityrc catalog file 
  320. </LIT>
  321.  
  322. </SUBSECT2>
  323.  
  324.  
  325. </SUBSECT1>
  326.  
  327. <SUBSECT1><TITLE>Specifying catalogs at run-time</TITLE>
  328.  
  329. <P>When &p; opens a file, it also searches the same directory for files by
  330. the name of <TT>CATALOG</TT> and <TT>ENTITYRC</TT>. In this manner, you can
  331. specify catalogs at run-time, whose contents will have precedence over the &p;
  332. directory catalogs.</P>
  333.  
  334. </SUBSECT1>
  335.  
  336. <SUBSECT1 ID="VERBATIM"><TITLE>Verbatim Formatting</TITLE>
  337.  
  338. <P><EM>Verbatim</EM> formatting means that element contents appear formatted with
  339. line breaks preserved from the SGML source. This can be achieved by inserting a
  340. suitable declaration in the <TT>ENTITYRC</TT> file or by inserting a processing
  341. instruction in the local declaration subset.</P>
  342.  
  343. <P>This is not a style sheet option as the binding has to be done early, prior to
  344. the parsing of the document content. There are two ways of specifying verbatim
  345. processing:</P>
  346.  
  347. <P>You can specify
  348.  
  349. <LIT>
  350.   VERBATIM "gi1 gi2 gi3..."
  351. </LIT>
  352.  
  353. in the <TT>ENTITYRC</TT> file at the corresponding DTD entry, where the
  354. <TT>GI</TT>s are the identifiers for the corresponding element.</P>
  355.  
  356. <P>Alternatively, you can specify a processing instruction of the
  357. form:</P>
  358. <LIT>
  359. <?VERBATIM "gi1 gi2 gi3...">
  360. </LIT>
  361. <P>immediately <EM>after</EM> the inclusion of the DTD in the document.</P>
  362.  
  363. </SUBSECT1>
  364.  
  365.  
  366. <SUBSECT1><TITLE>Designating the Document Title</TITLE>
  367.  
  368. <P><XREF RID="VERBATIM">Verbatim formatting</XREF> has already been covered as one of the
  369. specifications you can make in the <TT>ENTITYRC</TT> file, or as a processing instruction.</P>
  370.  
  371. <P>The <TT>DOCTITLE</TT> declaration is used to point out the element
  372. containing the document title, to be displayed in the browser window
  373. caption.</P>
  374.  
  375. <P>There are two ways of specifying the document title:</P>
  376.  
  377. <P>You can specify
  378.  
  379. <LIT>
  380.   DOCTITLE "GI"
  381. </LIT>
  382.  
  383. in the <TT>ENTITYRC</TT> file at the corresponding DTD entry, where the
  384. <TT>GI</TT> is the identifier for the corresponding element, optionally qualified
  385. by immediate ancestors, separated with commas.</P>
  386.  
  387. <P>Alternatively, you can specify a processing instruction of the
  388. form:
  389. <LIT>
  390. <?DOCTITLE "GI">
  391. </LIT>
  392. <EM>prior</EM> to the document instance.</P>
  393.  
  394. </SUBSECT1>
  395.  
  396. </SECTION>
  397.  
  398. </CHAPTER>
  399.  
  400. <CHAPTER ID="DOCUPRES"><TITLE>Document Presentation</TITLE>
  401.  
  402. <P>Document presentation is governed by the use of <EM>style sheets</EM> and by the
  403. choice of <EM>navigator</EM>. Style sheets contain layout information regarding the
  404. formatting of elements whereas navigators extract various elements for navigation. There
  405. are no restrictions on the number of styles or navigators that can be attached.</P>
  406.  
  407. <P>Style sheets are stored as SGML files with the suffix <TT>.SSH</TT>, navigators
  408. with the suffix <TT>.NAV</TT>. Both are normally attached to the corresponding DTD by
  409. virtue of an <TT>ENTITYRC</TT> catalog.</P>
  410.  
  411. <SECTION ID="SSHSEL"><TITLE>Style Sheet Selection</TITLE>
  412.  
  413. <P>In &p; the entity corresponding to the DTD should be declared using a <XREF
  414. RID="PUBLID">public identifier</XREF>, i.e. the doctype declaration ought to take one
  415. of two forms:
  416.  
  417. <LIT>
  418. <!DOCTYPE ... PUBLIC "public identifier">
  419. </LIT>
  420. or
  421. <LIT>
  422. <!DOCTYPE ... PUBLIC "public identifier"  "system identifier">
  423. </LIT>
  424. where the ellipsis (<TT>…</TT>) above denotes the generic identifier of the
  425. doctype element.</P>
  426.  
  427. <P>If a document doesn't have a public ID for the DTD, you can still select a
  428. style sheet by inserting a processing instruction in the document:</P>
  429.  
  430. <LIT>
  431. <?STYLESPEC "style sheet name" "style sheet system identifier">
  432. </LIT> 
  433.  
  434. <NOTE><P>This mechanism also allows you to override the default style for a
  435. <EM>specific</EM> document.</P></NOTE>
  436.  
  437. <SUBSECT1><TITLE>Style Sheet Selection Fallback</TITLE>
  438.  
  439. <P>If &p; is unable to find any stylesheet in the <TT>ENTITYRC</TT> file or a
  440. corresponding <TT>STYLESPEC</TT> processing instruction, it will search for a file
  441. called <TT>DTDNAME.SSH</TT> to use as a default navigator, where <TT>DTDNAME</TT> is
  442. the filename of the DTD (less the file suffix).</P>
  443.  
  444. <![ %windows; [ <P>As an example, if the system identifier for the DTD is
  445. <TT>C:\DTDS\IBMIDDOC.DTD</TT> &p; will search for <TT>C:\DTDS\IBMIDDOC.SSH</TT>.</P>
  446. ]]>
  447.  
  448. <![ %motif; [ <P>As an example, if the system identifier for the DTD is
  449. <TT>DTDS/IBMIDDOC.DTD</TT> &p; will search for "DTDS/IBMIDDOC.SSH.</P>
  450. ]]>
  451.  
  452. <![ %mac; [ <P>As an example, if the system identifier for the DTD is
  453. <TT>HD500:DTDS:IBMIDDOC.DTD</TT> &p; will search for <TT>HD500:DTDS:IBMIDDOC.SSH</TT>.</P>
  454. ]]>
  455.  
  456. </SUBSECT1>
  457. </SECTION>
  458.  
  459. <SECTION ID="NAVSEL"><TITLE>Navigator Selection</TITLE>
  460.  
  461. <P>In &p; the entity corresponding to the DTD should be declared using a <XREF
  462. RID="PUBLID">public identifier</XREF>. If that is not the case, you can still select
  463. a navigator by inserting a processing instruction in the document prior to browsing
  464. it in &p;:</P>
  465.  
  466. <LIT>
  467. <?NAVIGATOR "navigator name" "navigator system identifier">
  468. </LIT> 
  469.  
  470. <NOTE><P>This mechanism also allows you to override the default navigator for a
  471. specific document.</P></NOTE>
  472.  
  473. <SUBSECT1><TITLE>Navigator Selection Fallback</TITLE>
  474.  
  475. <P>If &p; is unable to find any navigator in the <TT>ENTITYRC</TT> file or a
  476. corresponding <TT>NAVIGATOR</TT> processing instruction, it will search for a file
  477. called <TT>DTDNAME.NAV</TT> to use as a default navigator, where <TT>DTDNAME</TT> is
  478. the filename of the DTD (less the file suffix).</P>
  479.  
  480. <![ %windows; [
  481. <P>As an example, if the system identifier for the DTD is
  482. <TT>C:\DTDS\IBMIDDOC.DTD</TT> &p; will search for
  483. <TT>C:\DTDS\IBMIDDOC.NAV</TT>.</P> ]]>
  484.  
  485. <![ %motif; [
  486. <P>As an example, if the system identifier for the DTD is
  487. <TT>DTDS/IBMIDDOC.DTD</TT> &p; will search for "DTDS/IBMIDDOC.NAV.</P> ]]>
  488.  
  489. <![ %mac; [
  490. <P>As an example, if the system identifier for the DTD is
  491. <TT>HD500:DTDS:IBMIDDOC.DTD</TT> &p; will search for
  492. <TT>HD500:DTDS:IBMIDDOC.NAV</TT>.</P> ]]>
  493.  
  494. </SUBSECT1>
  495. </SECTION>
  496.  
  497. </CHAPTER>
  498.  
  499. <CHAPTER ID="BASICS"><TITLE>SGML Basics</TITLE>
  500.  
  501. <SECTION ID="ENTS"><TITLE>Entities</TITLE>
  502.  
  503. <P>SGML has no concept of files. The mechanism of entities is used to represent data,
  504. that generally speaking could be residing in one or more files or, say, extracted and
  505. assembled on-the-fly from a database. It is the responsability of the <EM>Entity
  506. Manager</EM> to resolve the entities.  This abstraction isolates the SGML system from
  507. the operating system dependencies inherent with file management.  An SGML entity can
  508. thus be anything from a single character to several files, and the SGML system is not
  509. aware of the underlying physical structure in any way whatsoever.</P>
  510.  
  511. <SUBSECT1 ID="PUBLID"><TITLE>Public Identifiers</TITLE>
  512.  
  513. <P>Public identifiers are often used to increase the portability of SGML documents.
  514. The public identifier is a <EM>symbolic name</EM> for an entity which is eventually
  515. resolved to a <XREF RID="SYSTID">system identifier</XREF>.</P>
  516.  
  517. <P>&p; uses public identifiers in the <TT>CATALOG</TT> and <TT>ENTITYRC</TT> files,
  518. and in style sheet and navigator definitions as well.</P>
  519.  
  520. <P>If two public identifiers are identical, they are interpreted as representing
  521. <EM>the same information</EM>. In the interest of processing speed, and to reduce
  522. network congestion, &p; will use a copy of the entity on the local file system
  523. instead of fetching it from some World Wide Web server as long as both public
  524. identifiers are identical.</P>
  525.  
  526. <P>The public identifier for the DTD of this document is <TT>-//Synex Information
  527. AB//DTD Panorama Manual 1.2//EN</TT>.  A so-called <EM>formal public identifier</EM>
  528. (or FPI for short) has a well-defined structure as illustrated by the table
  529. below:</P>
  530.  
  531. <SQTABLE>
  532. <SQROW><!-- Row 1 -->
  533. <SQCELL colstart=1 colspan=1 rowstart=1 rowspan=1>
  534. <BO>Public identifier component</BO>
  535. </SQCELL>
  536. <SQCELL colstart=2 colspan=2 rowstart=1 rowspan=1>
  537. <BO>Corresponding function</BO>
  538. </SQCELL>
  539. </SQROW>
  540. <SQROW><!-- Row 2 -->
  541. <SQCELL colstart=1 colspan=1 rowstart=2 rowspan=4>
  542. -//
  543. </SQCELL>
  544. <SQCELL colstart=2 colspan=2 rowstart=2 rowspan=1>
  545. The owner identifier is prefixed by one of
  546. </SQCELL>
  547. </SQROW>
  548. <SQROW><!-- Row 3 -->
  549. <SQCELL colstart=2 colspan=1 rowstart=3 rowspan=1>
  550. +//
  551. </SQCELL>
  552. <SQCELL colstart=3 colspan=1 rowstart=3 rowspan=1>
  553. An owner which is registered under the rules of ISO 9070<FOOTNOTE><P>In addition,
  554. the international standard book numbering (ISBN) prefix is a valid
  555. registered identifier.</P></FOOTNOTE>
  556. </SQCELL>
  557. </SQROW>
  558. <SQROW><!-- Row 4 -->
  559. <SQCELL colstart=2 colspan=1 rowstart=4 rowspan=1>
  560. -//
  561. </SQCELL>
  562. <SQCELL colstart=3 colspan=1 rowstart=4 rowspan=1>
  563. This is the unregistered owner prefix
  564. </SQCELL>
  565. </SQROW>
  566. <SQROW><!-- Row 5 -->
  567. <SQCELL colstart=2 colspan=1 rowstart=5 rowspan=1>
  568. ISO XXXX:YYYY
  569. </SQCELL>
  570. <SQCELL colstart=3 colspan=1 rowstart=5 rowspan=1>
  571. An ISO owner identifier is the ISO publication number without the language suffix, such as
  572. "ISO 10744:1992"
  573. </SQCELL>
  574. </SQROW>
  575. <SQROW><!-- Row 6 -->
  576. <SQCELL colstart=1 colspan=1 rowstart=6 rowspan=1>
  577. Synex Information AB
  578. </SQCELL>
  579. <SQCELL colstart=2 colspan=2 rowstart=6 rowspan=1>
  580. The <BO>owner name</BO>. See standards such as ISO 3166 for guidelines on formulating
  581. owner identifiers
  582. </SQCELL>
  583. </SQROW>
  584. <SQROW><!-- Row 7 -->
  585. <SQCELL colstart=1 colspan=1 rowstart=7 rowspan=1>
  586. //
  587. </SQCELL>
  588. <SQCELL colstart=2 colspan=2 rowstart=7 rowspan=1>
  589. Consecutive solidi are used as separators ("delimiters") in formal public identifiers
  590. </SQCELL>
  591. </SQROW>
  592. <SQROW><!-- Row 8 -->
  593. <SQCELL colstart=1 colspan=1 rowstart=8 rowspan=6>
  594. DTD
  595. </SQCELL>
  596. <SQCELL colstart=2 colspan=2 rowstart=8 rowspan=1>
  597. The <BO>public text class</BO> is one of fourteen defined by the SGML standard.
  598. Some are used more commonly than others:
  599. </SQCELL>
  600. </SQROW>
  601. <SQROW><!-- Row 9 -->
  602. <SQCELL colstart=2 colspan=1 rowstart=9 rowspan=1>
  603. TEXT
  604. </SQCELL>
  605. <SQCELL colstart=3 colspan=1 rowstart=9 rowspan=1>
  606. An SGML text entity
  607. </SQCELL>
  608. </SQROW>
  609. <SQROW><!-- Row 10 -->
  610. <SQCELL colstart=2 colspan=1 rowstart=10 rowspan=1>
  611. DOCUMENT
  612. </SQCELL>
  613. <SQCELL colstart=3 colspan=1 rowstart=10 rowspan=1>
  614. An SGML document
  615. </SQCELL>
  616. </SQROW>
  617. <SQROW><!-- Row 11 -->
  618. <SQCELL colstart=2 colspan=1 rowstart=11 rowspan=1>
  619. DTD
  620. </SQCELL>
  621. <SQCELL colstart=3 colspan=1 rowstart=11 rowspan=1>
  622. A document type declaration subset
  623. </SQCELL>
  624. </SQROW>
  625. <SQROW><!-- Row 12 -->
  626. <SQCELL colstart=2 colspan=1 rowstart=12 rowspan=1>
  627. ENTITIES
  628. </SQCELL>
  629. <SQCELL colstart=3 colspan=1 rowstart=12 rowspan=1>
  630. An entity set (such as the public character sets listed in Annex D of
  631. the SGML standard).
  632. </SQCELL>
  633. </SQROW>
  634. <SQROW><!-- Row 13 -->
  635. <SQCELL colstart=2 colspan=2 rowstart=13 rowspan=1>
  636. See production rule 86 of the SGML standard for other allowed values
  637. </SQCELL>
  638. </SQROW>
  639. <SQROW><!-- Row 14 -->
  640. <SQCELL colstart=1 colspan=1 rowstart=14 rowspan=1>
  641. </SQCELL>
  642. <SQCELL colstart=2 colspan=2 rowstart=14 rowspan=1>
  643. Unavailable public text is indicated using an optional <TT>-//</TT> 
  644. </SQCELL>
  645. </SQROW>
  646. <SQROW><!-- Row 15 -->
  647. <SQCELL colstart=1 colspan=1 rowstart=15 rowspan=1>
  648. Panorama Manual 1.2
  649. </SQCELL>
  650. <SQCELL colstart=2 colspan=2 rowstart=15 rowspan=1>
  651. Except for ISO publications, the description is any string of so-called minimum data that
  652. describes the public text
  653. </SQCELL>
  654. </SQROW>
  655. <SQROW><!-- Row 16 -->
  656. <SQCELL colstart=1 colspan=1 rowstart=16 rowspan=1>
  657. //
  658. </SQCELL>
  659. <SQCELL colstart=2 colspan=2 rowstart=16 rowspan=1>
  660. The FPI separator
  661. </SQCELL>
  662. </SQROW>
  663. <SQROW><!-- Row 17 -->
  664. <SQCELL colstart=1 colspan=1 rowstart=17 rowspan=1>
  665. EN
  666. </SQCELL>
  667. <SQCELL colstart=2 colspan=2 rowstart=17 rowspan=1>
  668. The <BO>public text language</BO> is an indicator for the natural language in which the data is encoded
  669. ("EN" means English, "SW" means Swedish). This code is defined by ISO 639.
  670. </SQCELL>
  671. </SQROW>
  672. <SQROW><!-- Row 18 -->
  673. <SQCELL colstart=1 colspan=1 rowstart=18 rowspan=1>
  674. </SQCELL>
  675. <SQCELL colstart=2 colspan=2 rowstart=18 rowspan=1>
  676. If the public text is device-dependent, a <BO>public text display
  677. version</BO> must be included.
  678. </SQCELL>
  679. </SQROW>
  680. </SQTABLE>
  681.  
  682. </SUBSECT1>
  683.  
  684. <SUBSECT1 ID="SYSTID"><TITLE>System Identifiers</TITLE>
  685.  
  686. <P>Public identifiers are resolved by the Entity Manager into system identifiers
  687. (that are, naturally, system dependent). &p; supports three kinds of system
  688. identifiers:
  689.  
  690. <DEFLIST>
  691.  
  692. <TERM>Relative identifiers. </TERM><DD><P>A <EM>relative</EM> system identifier is expressed
  693. relative a location—such as the installation directory.</P></DD>
  694.  
  695. <TERM>Complete system identifier. </TERM><DD><P>An absolute identifier (that consists of a
  696. full path and of a filename.)</P></DD>
  697.  
  698. <TERM>URL. </TERM><DD><P>Uniform Resource Locators are a standard means of representing
  699. resources on the World Wide Web. &p; understands URLs prefixed by <TT>http</TT> such
  700. as <URL>&sgmlug;</URL>.</P></DD>
  701.  
  702. </DEFLIST>
  703. </P>
  704.  
  705. <P>As an example, you may want to review the public and system identifier pairs in
  706. the <TT>CATALOG</TT> and <TT>ENTITYRC</TT> files.</P>
  707.  
  708. </SUBSECT1>
  709.  
  710. </SECTION>
  711.  
  712. <SECTION ID="NOTS"><TITLE>Notations</TITLE>
  713.  
  714. <P>In SGML, data that is best kept in its own format is referred to using
  715. <EM>notations</EM>, and rendered using a dedicated <EM>notation
  716. handler</EM>; typically, this is a separate application of some sort, but
  717. it can also be integrated with the system. As an example, &p; has support
  718. for some common graphics formats.</P>
  719. </SECTION>
  720.  
  721.  
  722. <SECTION ID="THEDTD"><TITLE>The Document Type Definition</TITLE>
  723.  
  724. <P>An idea that is central to SGML is the concept of a <EM>document type
  725. definition:</EM> each document belongs to a class of similar documents, which all
  726. share the same logical structure and set of tags. The modeling of a document into a
  727. set of tags, entities, and attributes, is thus reusable and applicable to all
  728. documents of the same kind. The document type definition is almost always referred
  729. to by its acronym <Q>DTD</Q>. The <EM>SGML Primer</EM> from SoftQuad is a quick
  730. reference guide to the essentials of the standard, and contains the SGML needed to
  731. know for reading DTDs and marked-up documents.</P>
  732.  
  733. </SECTION>
  734.  
  735. <SECTION ID="HYTSTD"><TITLE>HyTime</TITLE>
  736.  
  737. <P>HyTime is the international standard for hypermedia and time-based documents. It
  738. is formally known as <Q>ISO/IEC 10744:1992 Hypermedia/Time-Based Structuring
  739. Language</Q>. Though this title may sound intimidating, HyTime is a very useful
  740. standard. In addition to supporting the SGML standard, &p; provides support for
  741. some HyTime constructs, all related to hyperlinking.</P>
  742.  
  743.  
  744. <SUBSECT1><TITLE>Architectural Forms</TITLE>
  745.  
  746. <P>While the DTD describes the logical structure of a document, there are general
  747. concepts that transcend applications of SGML, of which hyperlinking is a prime
  748. example. Rather than define tag sets for hypertext, the HyTime standard defines a
  749. <EM>meta-DTD</EM>, where many useful constructs are defined much like in an ordinary
  750. DTD. However, to create a correspondence between the HyTime concept and the tag
  751. actually being used, HyTime requires elements to have an attribute called
  752. <TT>HyTime</TT>. By virtue of the HyTime attribute, an application may use any tag
  753. naming scheme, as the corresponding HyTime concept can be readily identified.  This
  754. mechanism is called an <BO>architectural form</BO>.</P>
  755.  
  756. </SUBSECT1>
  757. </SECTION>
  758. </CHAPTER>
  759.  
  760. <CHAPTER ID="URLSPEC"><TITLE>WWW Linking</TITLE>
  761.  
  762. <P>In addition to permitting Uniform Resource Locators to be specified as <XREF
  763. RID="SYSTID">system identifiers</XREF>, &p; can handle URLs in markup in a combination of
  764. processing instructions and ideas similar to architectural forms. The use of processing
  765. instructions vs. other solutions—such as style sheet settings—has certain
  766. advantages:
  767.  
  768. <LIST>
  769.  
  770. <ITEM><P><BO>Persistence.</BO> The link exists regardless of the selected style sheet.</P></ITEM>
  771.  
  772. <ITEM><P><BO>Backwards compatibility.</BO> DTDs need not be changed in order to
  773. accomodate the URL addressing.</P></ITEM>
  774.  
  775. <ITEM><P><BO>Naming Independence.</BO> Because of the indirection provided by the architectural
  776. forms, any tag name and attribute can be designated as being a URL address.</P></ITEM>
  777.  
  778. </LIST>
  779. </P>
  780.  
  781. <P>There are four ways of making Panorama aware of URLs:</P>
  782.  
  783. <LIST>
  784.  
  785. <ITEM>
  786. <P><TT><?ATTLINK tagname attname URI></TT></P>
  787. <LIST>
  788.  
  789.   <ITEM><P>The attribute <TT>attname</TT> of the element <TT>tagname</TT> is treated as an URL.</P></ITEM>
  790.  
  791.   <ITEM><P><TT><?ATTLINK A HREF URI></TT> makes <TT><A HREF="http://www.ora.com/davenport/readme.sgm></TT> a URL link—the classic HTML URL.</P></ITEM>
  792. </LIST>
  793. </ITEM>
  794.  
  795. <ITEM><P><TT><?TAGLINK tagname URI></TT></P>
  796.   <LIST>
  797.   <ITEM><P>The <EM>content</EM> of the element <TT>tagname</TT> is treated as an URI (URL) link.</P></ITEM>
  798.  
  799.   <ITEM><P><TT><?TAGLINK URL URI></TT> makes <TT><URL>http://www.ora.com/davenport/readme.sgm</URL></TT> a URL link.</P></ITEM>
  800.   </LIST>
  801. </ITEM>
  802. </LIST>
  803.  
  804. <LIST>
  805. <ITEM>
  806. <P><TT><?TAGLINK #ARCHFORM arch_attname arch_attval URI></TT></P>
  807.   <LIST>
  808.  
  809.   <ITEM><P>The content of <EM>all</EM> elements (regardless of their GI), having an
  810. attribute <TT>arch_attname</TT> whose value equals <TT>arch_attval</TT> is treated as
  811. an URL.</P>
  812.   </ITEM>
  813.  
  814.   <ITEM><P><TT><?TAGLINK #ARCHFORM LINKAGE HREF URI></TT>  makes
  815. <TT><URL LINKAGE=HREF>http://www.ora.com/davenport/readme.sgm</URL></TT>
  816. a URL link. Naturally, the attribute value can be defined as the default value
  817. in the DTD, so that you need not update your documents.</P></ITEM>
  818. </LIST></ITEM>
  819. </LIST>
  820.  
  821. <LIST>
  822. <ITEM>
  823. <P><TT><?ATTLINK arch_attname arch_attval attname URI></TT></P>
  824. <LIST>
  825.  
  826. <ITEM><P>The attribute <TT>attname</TT> of all elements having an attribute
  827. <TT>arch_attname</TT> assigned to <TT>arch_attval</TT> is treated as an URL.</P>
  828. </ITEM>
  829.  
  830. <ITEM><P>As an example, the instruction <TT><?ATTLINK #ARCHFORM LINKAGE URL HREF URI></TT> makes
  831. <TT><T LINKAGE=URL HREF="http://www.ora.com/davenport/readme.sgm"></TT> a URL link.</P>
  832. </ITEM>
  833. </LIST>
  834. </ITEM>
  835. </LIST>
  836.  
  837.  
  838. </CHAPTER>
  839.  
  840. <CHAPTER ID="LINKING"><TITLE>HyTime Linking</TITLE>
  841.  
  842. <P>&p; currently supports a small subset of the HyTime standard
  843. (ISO/IEC 10744:1992 Hypermedia/Time-based Structuring Language), in
  844. particular some constructs needed for links and for addressing.</P>
  845.  
  846. <P>Partly supported addressing mechanisms are <TT>nameloc</TT>,
  847. <TT>treeloc</TT> and <TT>dataloc</TT>. As the markup required for the latter
  848. two is somewhat difficult to create manually, they are not documented here.
  849. If you are intrigued of how the markup looks, you may want to look at the
  850. web files that &p; creates for your annotations.</P>
  851.  
  852. <LIST>
  853.  
  854. <ITEM><P><TT>nameloc</TT> addressing identifies one or more elements within
  855. an entity (using ID attributes). A typical use of <TT>nameloc</TT> is to
  856. link to a file or a location within that file.</P>
  857.  
  858. <P>This form of addressing is normally the most robust with respect to
  859. subsequent modifications of the file being linked into.</P></ITEM>
  860.  
  861.  
  862. <ITEM><P><TT>treeloc</TT> addressing identifies a path in the SGML Tree.
  863. This is used for linking to elements that lack an ID attribute.</P>
  864.  
  865. <P>Because the addressing relies on the tree structure, this form of
  866. addressing is more prone to break as a result of editing changes compared to
  867. <TT>nameloc</TT>.</P></ITEM>
  868.  
  869. <ITEM><P>The form of <TT>dataloc</TT> addressing supported by &p;
  870. counts words. This is used for linking to a range of words <EM>within</EM> an element.</P>
  871.  
  872. </ITEM>
  873.  
  874. </LIST>
  875.  
  876. <P>The HyTime standard allows you to combine the addressing mechanisms
  877. into <EM>location ladders</EM>. &p; uses this feature in webs, so that
  878. anchors are referenced through a <TT>nameloc</TT> to the nearest ID
  879. attribute, followed by a <TT>treeloc</TT> to the element of the
  880. anchor. Finally, if the anchor is a selection within the element, a
  881. <TT>dataloc</TT> points out the stretch of words.</P>
  882.  
  883. <P>You may want to take advantage of the HyTime support to add HyTime
  884. linking to your SGML documents by copying the required markup
  885. from the webs authored using &p;</P>
  886.  
  887. <SECTION ID="NMLOC"><TITLE>Nameloc Addressing</TITLE>
  888.  
  889. <P>The named location addressing (<TT>nameloc</TT>) identifies one or more
  890. named objects by a corresponding number of names in a <EM>name list</EM>. As
  891. the standard prescribes, resolution of the link target is delayed until
  892. actual attempts to access the named location—you can thus create links
  893. to documents that do not yet exist, to incrementally build a linked document
  894. collection.</P>
  895.  
  896. <SUBSECT1><TITLE>Required HyTime Markup</TITLE>
  897.  
  898. <P>Names below that are prefixed with a percent sign are SGML
  899. <EM>parameter entities</EM> to stress the fact that these tags can
  900. have any name by virtue of the HyTime architectural form.</P>
  901.  
  902. <P>&p; requires at least the following element
  903. declarations:<FOOTNOTE><P>The ellipsis (<LIT>...</LIT>) indicates
  904. omitted declarations.</P></FOOTNOTE>
  905. <LIT>
  906.   <!notation SGML PUBLIC "+//ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN">
  907.   <!entity refdoc SYSTEM "..." NDATA SGML>
  908.    
  909.  
  910.   <!element %nameloc; ... >
  911.   <!attlist %nameloc;
  912.     HyTime  name    "nameloc"
  913.     %id;     id      %implied;
  914.     ...
  915.   >
  916.  
  917.   <!element %nmlist; ... >
  918.   <!attlist %nmlist;
  919.     HyTime   name             "nmlist"
  920.     nametype (entity|element) %element; -- unified not supported--
  921.     docorsub entity           %implied;
  922.     ...
  923.   >
  924.  
  925.   <!element %clink;  ...>
  926.   <!attlist %clink;
  927.     HyTime     name    "clink"
  928.     %linkend;  idref   %implied;
  929.     ...
  930.   >
  931. </LIT>
  932. </P>
  933.  
  934. <SUBSECT2><TITLE>Examples</TITLE>
  935.  
  936. <P>In the examples below, the <TT>nmlist</TT> element contains a list of local or
  937. external IDs, or entity names, as declared by the <TT>nametype</TT> attribute.</P>
  938.  
  939. <SUBSECT3><TITLE>Cross-document Reference to an Entity</TITLE>
  940.  
  941. <P>To make a cross-document reference to an external entity declared <TT>refdoc</TT>
  942. (see above),  the document should contain the following markup:
  943. <RLIT>
  944.   ...
  945.   <nameloc id="locid">
  946.   <nmlist nametype="entity">refdoc</nmlist>
  947.   </nameloc>
  948.   ...
  949.   See also the <clink linkend="locid">related document</clink>
  950.   ...
  951. </RLIT>
  952. The <TT>refdoc</TT> entity is a notation data with SGML content.</P>
  953.  
  954. <P>The text <TT>related document</TT> is displayed as a hypertext link (hot text) to the 
  955. <TT>refdoc</TT> entity<FOOTNOTE><P>If <TT>clink</TT> is not defined as a HyTime
  956. clink, the reference will instead point to the <TT>nameloc</TT> element.</P></FOOTNOTE>.</P>
  957. </SUBSECT3>
  958.  
  959. <SUBSECT3><TITLE>Cross-document Reference to an Element</TITLE>
  960.  
  961. <P>Use the following markup to make a cross-document reference to an element with the ID <TT>eid</TT> in the 
  962. <TT>refdoc</TT> entity already declared:
  963. <RLIT>
  964.   ...
  965.   <nameloc id="locid">
  966.   <nmlist nametype="element" docorsub="refdoc">eid</nmlist>
  967.   </nameloc>
  968.   ...
  969.   See also the <clink linkend="locid">related document</clink>
  970.   ...
  971. </RLIT>
  972. </P>
  973.  
  974. <P>The text <TT>related document</TT> points to a specific location in the
  975. <TT>refdoc</TT> entity, identified by an ID attribute with the value
  976. <TT>eid</TT>.</P>
  977.  
  978. <P>You can have any numbers of names in an <TT>nmlist</TT> element, and any
  979. number of <TT>nmlist</TT> elements in an <TT>nameloc</TT> element. If there are
  980. multiple link targets &p;, will collect all of them in a list, just like
  981. internal IDREFs.</P>
  982. </SUBSECT3>
  983. </SUBSECT2>
  984. </SUBSECT1>
  985.  
  986. <SUBSECT1><TITLE>Limitations</TITLE>
  987.  
  988. <P>
  989. <LIST>
  990. <ITEM><P>&p; requires that the <TT>nmlist</TT> entities be declared in
  991. the local document. We do not yet support the case where the <TT>nametype</TT> is declared
  992. as an entity and <TT>docorsub</TT> has a declared entity value, meaning that
  993. the entities in the <TT>nmlist</TT> element are declared in the entity referenced by
  994. the <TT>docorsub</TT> entity.</P></ITEM>
  995.  
  996. <ITEM><P>Other attributes—such as <TT>obnames</TT>—are ignored at
  997. this time.</P></ITEM>
  998. </LIST>
  999. </P>
  1000.  
  1001. </SUBSECT1>
  1002. </SECTION>
  1003. </CHAPTER>
  1004.  
  1005. <![ %PRO; [
  1006. <CHAPTER ID="HINTS"><TITLE>Hints and Tips</TITLE>
  1007.  
  1008. <P>This chapter describes some recommendations and suggested uses of &p;</P>
  1009.  
  1010.  
  1011. <SECTION ID="ALTICNS"><TITLE>Customizing the Default Annotation and Link Icons</TITLE>
  1012.  
  1013. <P>A very valuable feature is &p;'s ability to attach different types
  1014. of icons to different types of webs. In this way, the webs can be
  1015. distinguished by their icons' visual appearance. A sample web
  1016. illustrating this feature (<TT>ALTICON.WEB</TT>) is included with the
  1017. manual.</P>
  1018.  
  1019.  
  1020. <SUBSECT1><TITLE>How to change web icons</TITLE>
  1021.  
  1022. <P>First, you should design your web icons (in <TT>GIF</TT>, <TT>BMP</TT>, or
  1023. <TT>WMF</TT> format). The icons are then declared in the <EM>web file</EM> by adding
  1024. declarations in the local declaration subset.</P>
  1025.  
  1026. <P><LIST>
  1027.  
  1028. <ITEM><P>Start by declaring the notation type (<TT>BMP</TT> in this example)
  1029.  
  1030. <LIT>
  1031. <!NOTATION BMP PUBLIC 
  1032.        "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION
  1033.         Microsoft Windows Bitmap//EN">
  1034. </LIT>
  1035.  
  1036. </P></ITEM>
  1037.  
  1038.  
  1039. <ITEM><P>Optionally, declare an attribute list for the notation. The parser scans
  1040. <EM>all</EM> graphic entities for the attributes <TT>DESCENT</TT> and <TT>MASK</TT>.
  1041. The <TT>DESCENT</TT> attribute is a number specifying the descent of the image (the
  1042. drop below the baseline, the default being "0") while the <TT>MASK</TT> attribute is
  1043. an entity pointing to the mask of the image.  Masks are meaningful only to raster
  1044. images, and designate what portion of the graphic that is to be
  1045. drawn.<FOOTNOTE><P>The mask has the same format as in SoftQuad
  1046. Explorer.</P></FOOTNOTE>.
  1047.  
  1048. <LIT>
  1049. <!ATTLIST #NOTATION BMP
  1050.       DESCENT  NUMBER  #IMPLIED
  1051.       MASK     ENTITY  #IMPLIED
  1052.       >
  1053. </LIT>
  1054. </P></ITEM>
  1055.  
  1056. <ITEM><P>Define the actual entities. The entity for the annotation icon should be
  1057. named <TT>NoteIcon</TT> and the entity for the link icon should be named
  1058. <TT>LinkIcon</TT>. The case <EM>is</EM> significant.
  1059.  
  1060. <LIT>
  1061. <!ENTITY NoteMask SYSTEM "webnotem.bmp" NDATA BMP>
  1062. <!ENTITY NoteIcon SYSTEM "webnotei.bmp" 
  1063.      NDATA BMP [MASK="NoteMask"]>
  1064.  
  1065. <!ENTITY LinkMask SYSTEM "weblinkm.bmp" NDATA BMP>
  1066. <!ENTITY LinkIcon SYSTEM "weblinki.bmp" 
  1067.      NDATA BMP [MASK="LinkMask" DESCENT="5"]>
  1068. </LIT>
  1069. </P>
  1070. </ITEM>
  1071.  
  1072. </LIST>
  1073. </P>
  1074.  
  1075. </SUBSECT1>
  1076.  
  1077. </SECTION>
  1078.  
  1079.  
  1080. <SECTION ID="SLIDES"><TITLE>Slide Show Presentation</TITLE>
  1081.  
  1082. <P>In the <MENU>options</MENU> menu, you have the option of <MENU>Launching
  1083. Subviews</MENU>. When this option is selected, any item hidden behind an
  1084. icon will be opened in a separate window when the icon is clicked;
  1085. alternatively, the contents behind the icon are displayed in the current
  1086. window.</P>
  1087.  
  1088. <P>The latter option can be used in presentations in the style of slide shows. Here's
  1089. how to do it:
  1090.  
  1091. <LIST>
  1092.  
  1093. <ITEM><P>The markup of your SGML file should be viewed as a number of elements whose content
  1094. each represent a screenful.</P></ITEM>
  1095.  
  1096. <ITEM><P>You will probably want to have a title element for each slide.</P></ITEM>
  1097.  
  1098. <ITEM><P>Using the style sheet editor: As described in the <XREF
  1099. RID="panoug">User's Guide</XREF>, set the element style of the
  1100. <Q>slide</Q> element so that it is <XREF
  1101. RID="MISCSSH">iconized</XREF>.</P></ITEM>
  1102.  
  1103. <ITEM><P>To navigate the file, you have the option of either using a
  1104. navigator (easy) or inserting markup-based links that go to the next and
  1105. previous element of your slide show presentation (a bit more
  1106. work).</P></ITEM>
  1107.  
  1108. </LIST>
  1109.  
  1110. </P>
  1111. </SECTION>
  1112.  
  1113.  
  1114. </CHAPTER>
  1115. ]]>
  1116.  
  1117. <CHAPTER ID="CONFORM"><TITLE>SGML Conformance</TITLE>
  1118.  
  1119. <P>&p; is an SGML System Conforming to International Standard
  1120. ISO 8879—Standard Generalized Markup Language.</P>
  1121.  
  1122. <SECTION ID="SYSTEM"><TITLE>System Declaration</TITLE>
  1123.  
  1124. <P>&p; parses an SGML declaration but will not act on its contents.  &p;
  1125. conforms to the following system declaration (see clause 15.6 of
  1126. ISO 8879):</P>
  1127.  
  1128. <LIT>
  1129. <!SYSTEM "ISO 8879:1986"
  1130.      CHARSET
  1131.      BASESET "ISO 646:1983//CHARSET International Reference
  1132.      Version (IRV)//ESC 2/5 4/0"
  1133.      DESCSET
  1134.         0      9         UNUSED
  1135.         9      2         9
  1136.        11      2         UNUSED
  1137.        13      1         13
  1138.        14     18         UNUSED
  1139.        32     95         32
  1140.       127      1         UNUSED
  1141.       BASESET "ISO Registration Number 8859//CHARSET
  1142.       Right Part of Latin Alphabet Nr.1//ESC 2/13 4/1"
  1143.       DESCSET
  1144.           128     127        128
  1145.    CAPACITY PUBLIC
  1146.         "ISO 8879:1986//CAPACITY Reference//EN"
  1147.    FEATURES
  1148.       MINIMIZE
  1149.           DATATAG  NO
  1150.           OMITTAG  NO
  1151.           RANK     NO
  1152.           SHORTTAG YES
  1153.       LINK
  1154.           SIMPLE   NO
  1155.           IMPLICIT NO
  1156.           EXPLICIT NO
  1157.       OTHER
  1158.           CONCUR   NO
  1159.           SUBDOC   NO
  1160.           FORMAL   NO
  1161.     SCOPE DOCUMENT
  1162.     SYNTAX PUBLIC
  1163.        "ISO 8879:1986//SYNTAX Core//EN"
  1164.     VALIDATE
  1165.        GENERAL    NO
  1166.        MODEL      NO
  1167.        EXCLUDE    NO
  1168.        CAPACITY   NO
  1169.        NONSGML    NO
  1170.        SGML       NO
  1171.        FORMAL     NO
  1172.        SDIF
  1173.        PACK       NO
  1174. >
  1175. </LIT>
  1176.  
  1177. <P>The core concrete syntax is the same as the reference concrete syntax except
  1178. that <TT>NONE</TT> is specified for the <TT>SHORTREF</TT> parameter. The parser
  1179. also supports marked sections, <TT>#CONREF</TT>-attributes, full entity support
  1180. including <TT>#DEFAULT</TT> entity, and the parsing of the local declaration
  1181. subset.</P>
  1182.  
  1183. <P>&p; extends the core syntax in the following manner:
  1184.  
  1185. <LIST>
  1186. <ITEM><P>The length of a parameter literal or attribute value literal (LITLEN) is set to 2048.</P></ITEM>
  1187.  
  1188. <ITEM><P>the length of a name, name token, etc. (NAMELEN) is set to 2048.</P></ITEM>
  1189.  
  1190. <ITEM><P>the length of a processing instruction (PILEN) is set to 2048.</P></ITEM>
  1191.  
  1192. <ITEM><P>the length of a start-tag (TAGLEN) is set to 2048.</P></ITEM>
  1193.  
  1194. <ITEM><P>The nesting level of open elements (TAGLVL) is set to 48.</P></ITEM>
  1195.  
  1196. <ITEM><P>The number of attribute names and name tokens in an element's attribute
  1197. definitions (ATTCNT) is set to 100.</P></ITEM>
  1198. </LIST>
  1199. </P>
  1200.  
  1201. <P>There are a number of limits set by the core syntax which are ignored as &p;
  1202. will use available RAM as needed. These are:
  1203.  
  1204. <LIST>
  1205. <ITEM><P>the number of tokens in a group (GRPCNT)</P></ITEM>
  1206.  
  1207. <ITEM><P>the grand total of tokens at all levels of a model group (GRPGTCNT)</P></ITEM>
  1208.  
  1209. <ITEM><P>the nesting level of model groups (GRPLVL)</P></ITEM>
  1210.  
  1211. <ITEM><P>the nesting level of entities (ENTLVL)</P></ITEM>
  1212. </LIST>
  1213. </P>
  1214.  
  1215. <P>The namecase is NO for general identifiers and YES for entities (thus
  1216. only entity names are case-sensitive).</P>
  1217. </SECTION>
  1218.  
  1219. <SECTION ID="FEATURES"><TITLE>Feature support</TITLE>
  1220.  
  1221. <P><TT>SHORTTAG</TT> minimization is supported.</P>
  1222.  
  1223. </SECTION>
  1224.  
  1225. <SECTION ID="VALID"><TITLE>Validation Services</TITLE>
  1226.  
  1227. <P>As &p; is <BO>not</BO> a validating parser, we recommend the use of valid, normalized
  1228. SGML files as source input.</P>
  1229.  
  1230. </SECTION>
  1231.  
  1232.  
  1233. </CHAPTER>
  1234. </BODY>
  1235.  
  1236. <APPMAT>
  1237.  
  1238. <APPENDIX ID="HTSPOT"><TITLE>Hot Spot Format</TITLE> 
  1239.  
  1240. <P>&p; supports the use of hot spots in graphics. This format is
  1241. a proprietary SGML-based format, which uses the concept of
  1242. architectural forms. A hot spot locator is defined as:
  1243. <LIT>
  1244. <!ELEMENT HOTSPOT       EMPTY>
  1245.  
  1246. <!ATTLIST HOTSPOT
  1247.       SYNEX-AF      NAME    HOTSPOT
  1248.       ID            ID      #IMPLIED
  1249.       GRAPHIC       ENTITY  #REQUIRED
  1250.       RX            NUMBER  "0"       -- left endpoint --
  1251.       RY            NUMBER  "0"       -- top endpoint --
  1252.       RW            NUMBER  "2048"    -- maximum height --
  1253.       RH            NUMBER  "2048"    -- maximum width --
  1254.       ZOOM          NUMBER  "0"       -- 0=default
  1255.                          1=100%
  1256.                          2=200%
  1257.                          3=400%
  1258.                          4=800% --
  1259.       >
  1260. </LIT>
  1261. </P>
  1262.  
  1263. <P>The purpose of the attribute <TT>SYNEX-AF</TT> is to emphasize that this is a
  1264. proprietary format. The attribute name <TT>hotspot</TT> specifies an architectural
  1265. form that the parser understands. It is thus possible to add hot spots in any
  1266. document, their use is not limited to webs.  The corresponding element can be
  1267. named freely, and you may add other attributes.</P>
  1268.  
  1269. <P>The hot spot addressing is based on a logical grid on the graphic that ranges
  1270. from 0 to 2048 on both the x- and y-axis. This means that the graphic can be resized
  1271. freely as long as the scale is uniform, as the addressing is relative the logical
  1272. grid.</P>
  1273.  
  1274. <P>The <TT>ZOOM</TT> attribute specifies the amount by which the graphics should be
  1275. zoomed when following a link into it. If this attribute is set to <TT>"0"</TT>, the
  1276. browser will try to locate the graphic in some open document, otherwise the hot spot
  1277. is always displayed in a separate zoom window, scaled 100, 200, 400, or 800 percent,
  1278. depending on the value of the attribute.</P>
  1279.  
  1280. <P>The hot spot markup is created using a point-and-click graphical user interface in
  1281. the PRO version of &p;, see the section <XREF RID="HOTSPOT">Creating a link from
  1282. graphics</XREF> in the <XREF RID="panoug">User's Guide</XREF>.</P>
  1283.  
  1284. </APPENDIX>
  1285.  
  1286. <APPENDIX ID="NOTFMT"><TITLE>Supported Graphics Formats</TITLE> 
  1287.  
  1288. <![ %windows; [
  1289. <P>GIF, BMP, and WMF graphics are currently supported by &p;. In the DTD or local declaration subset,</P>
  1290. ]]>
  1291.  
  1292. <P>the GIF notation should either be declared as:
  1293.  
  1294. <LIT>
  1295. <!NOTATION GIF SYSTEM>
  1296. </LIT>
  1297.  
  1298. or as:
  1299.  
  1300. <LIT>
  1301. <!NOTATION any-name PUBLIC
  1302.     "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION
  1303.      CompuServe Graphic Interchange Format//EN">
  1304. </LIT>
  1305. </P>
  1306.  
  1307. <P>the Windows bitmap notation should be declared as 
  1308.  
  1309. <LIT>
  1310. <!NOTATION BMP SYSTEM>
  1311. </LIT>
  1312.  
  1313. or as:
  1314.  
  1315. <LIT>
  1316. <!NOTATION BMP PUBLIC 
  1317.        "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION
  1318.         Microsoft Windows Bitmap//EN">
  1319. </LIT>
  1320. </P>
  1321. <P>and the Windows metafile notation should either be declared as:
  1322.  
  1323. <LIT>
  1324. <!NOTATION WMF SYSTEM>
  1325. </LIT>
  1326.  
  1327. or as:
  1328.  
  1329. <LIT>
  1330. <!NOTATION any-name PUBLIC
  1331.     "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION
  1332.      Microsoft Windows Metafile//EN">
  1333. </LIT>
  1334. </P>
  1335.  
  1336. </APPENDIX>
  1337.  
  1338. </APPMAT> 
  1339. </BOOK>
  1340.  
  1341.  
  1342.